# Jamfile to read in the dep graph

HCACHEFILE = jam.deps ;

SOURCE_DIR = [ FDirName data source_dir ] ;
TARGET_DIR = [ FDirName data target_dir ] ;
NOTFILE target ;

rule Produce
{
	local LEVEL = $(1) ;
	local SUB = $(2) ;
	local SRC = $(3) ;

	
	local TARGET = [ FDirName $(TARGET_DIR) $(LEVEL) $(SUB) $(SRC:D=:S=.o) ] ;
	
	Depends $(TARGET) : $(SRC) ;
	Depends target : $(TARGET) ;
	Clean clean : $(TARGET) ;

	HDRRULE on $(SRC) = HdrRule ;
	HDRSCAN on $(SRC) = $(HDRPATTERN) ;
	HDRSEARCH on $(SRC) = $(SOURCE_DIR) ;
        JAMSHELL on $(TARGET) = NOSHELL ;
	Touch $(TARGET) : $(SRC) ;
}

rule Touch
{
}

actions Touch
{
	touch $(<)
}


for LEVEL_DIR in [ Glob $(SOURCE_DIR) : * : "." ".." ] {
	for SUBDIR in [ Glob $(LEVEL_DIR) : * : "." ".." ] {
		local FILES = [ Glob $(SUBDIR) : *.c ] ;
		for FILE in $(FILES) {
			Produce $(LEVEL_DIR:D=) : $(SUBDIR:D=) : $(FILE) ;
		}
	}
} 

